package $3exceptionhandler;

public class FnAssertion {

    public static void main(String[] args) {
        /**
         *  Assertion 断言
         *  断言（Assertion）是一种调试程序的方式。在Java中，使用assert关键字来实现断言。
         *
         *  小结
         *  断言是一种调试方式，断言失败会抛出AssertionError，只能在开发和测试阶段启用断言；
         *  对可恢复的错误不能使用断言，而应该抛出异常；
         *  断言很少被使用，更好的方法是编写单元测试。
         *  
         */
        //

        // 语句assert x >= 0;即为断言，断言条件x >= 0预期为true。如果计算结果为false，则断言失败，抛出AssertionError。
        // 使用assert语句时，还可以添加一个可选的断言消息

        // Java断言的特点是：
        // 断言失败时会抛出AssertionError，导致程序结束退出。因此，断言不能用于可恢复的程序错误，只应该用于开发和测试阶段。
        int x = -1;
        assert x > 0;
        System.out.println(x);

    }

}
